﻿' <summary>
' BeeWit IDE Entorno de desarrollo Visual para php.
' BeeWitPHP IDE es el único entorno de desarrollo para PHP 
' de tipo WYSIWYG (What You See Is What You Get). 
' ¡Ahora si!, aproveche la potencia del lenguaje PHP 
' y desarrolle más rápidamente gracias a la programación 
' intuitiva de BeeWit.
' Copyright © 2010 Dewins Murillo Garcia 
' EMAIL: dewinsmg@gmail.com
' EMAIL: dewins@beewitsoft.com
' Este Programa es Software Libre: usted puede redistribuirlo 
' y/o modificarlo bajo los términos de la Licencia Publica General 
' GNU como es publicada por la Fundacion de Software Libre; 
' en la 3ra versión de la licencia.
' Este programa es distribuido con la esperanza de que sea útil, 
' pero SIN GARANTÍA ALGUNA; sin siquiera la garantía implícita 
' de VALOR COMERCIAL o FORMADO PARA UN PROPÓSITO EN PARTICULAR. 
' Vea la Licencia Publica General GNU para mas detalles.
' Usted debe haber recibido una copia de la Licencia Publica General 
' GNU junto con este programa. Si no, vaya a http://www.beewitsoft.com
' o en http://code.google.com/p/ajax-beewit-php-ide/
' </summary>
' <remarks></remarks>

Public Class clsTags
    Private ds As New DataSet("tag")
    Private tb_tags As DataTable
    Private tb_properties As DataTable

    Structure eTags
        Dim key As String
        Dim tagname As String
        Dim description As String
        Dim command As String
        Dim icon As String
    End Structure

    Structure eProperties
        Dim tagname As String
        Dim propertyname As String
        Dim description As String
    End Structure

    Public Sub New()
        ds.ReadXml(Application.StartupPath & "\resources\xml\tags.xml")
        tb_tags = ds.Tables("tag")
        tb_properties = ds.Tables("property")
    End Sub

    Public Function GetTags() As eTags()
        Dim Data() As eTags
        Dim iRow As Long = -1
        Data = Nothing
        For Each aTag As DataRow In tb_tags.Rows
            iRow += 1
            ReDim Preserve Data(iRow)
            Data(iRow).key = aTag("key")
            Data(iRow).tagname = aTag("tagname")
            Data(iRow).description = aTag("description")
            Data(iRow).command = aTag("command")
            Data(iRow).icon = aTag("icon")
        Next
        Return Data
    End Function

    Public Function GetProperties(ByVal TagName As String) As eProperties()
        Dim Data() As eProperties
        Dim iRow As Long = -1
        Data = Nothing
        For Each aProperty As DataRow In tb_properties.Rows
            If aProperty("tagname").ToString.ToUpper = TagName.ToUpper Then
                iRow += 1
                ReDim Preserve Data(iRow)
                Data(iRow).tagname = aProperty("tagname")
                Data(iRow).propertyname = aProperty("propertyname")
                Data(iRow).description = aProperty("description")
            End If
        Next
        Return Data
    End Function

End Class